from collections import defaultdict

n, k = map(int, input().strip().split())
nums = list(map(int, input().split()))

# 使用字典来记录频率
frequency_map = defaultdict(int)
# 使用集合来记录当前窗口中只出现一次的数字
unique_nums = set()

# 初始化第一个窗口
for i in range(k):
    frequency_map[nums[i]] += 1
    if frequency_map[nums[i]] == 1:
        unique_nums.add(nums[i])

max_unique = max(unique_nums) if unique_nums else -1
print(max_unique, end=' ')

# 移动窗口
for i in range(n - k):
    # 移除左边界元素
    if frequency_map[nums[i]] == 1:
        unique_nums.remove(nums[i])
    elif frequency_map[nums[i]] == 2:
        unique_nums.add(nums[i])  # 如果之前已经在集合中，则移除后再添加会报错，但这里不会，因为我们是从1变为2
    frequency_map[nums[i]] -= 1

    # 添加右边界元素
    frequency_map[nums[i + k]] += 1
    if frequency_map[nums[i + k]] == 1:
        unique_nums.add(nums[i + k])

    # 更新最大值
    max_unique = max(unique_nums) if unique_nums else -1
    print(max_unique, end=' ')